跳到主要内容

Property Groups

title: "属性组(Property Groups)"

description: "创建可设置关键帧、可动画化、可绑定到视图模型属性的本地值"


属性组(Property Groups)是本地、画板级别的值,可以被设置关键帧、动画化以及绑定到视图模型属性。

视图模型属性是全局共享的,而时间线和状态机是本地的。属性组弥合了这一差距,允许本地动画和逻辑读取或驱动全局数据。

创建属性组

  1. 创建属性组

    选择属性组工具并点击舞台,将其添加到画板中。 创建属性组

  2. 添加属性

    选中属性组,在右侧边栏中点击 + 图标并选择属性类型。 向组中添加属性

常见用例

用时间线控制视图模型属性

你无法直接在时间线中为视图模型属性设置关键帧。替代方案是:为属性组值设置关键帧,然后将该值绑定到视图模型属性。

这让你可以在运行时使用时间线中的关键帧来更新视图模型数据。

为什么不能直接为视图模型属性设置关键帧?

视图模型属性代表跨应用共享的全局数据,而关键帧是时间线本地的——因此无法直接设置关键帧。

  1. 为属性设置关键帧

    选中属性组,移动时间线播放头并更改属性值来创建关键帧。

    新建属性

  2. 绑定属性

    右键点击属性并选择你要控制的视图模型属性。将方向设置为 Target → Source,使关键帧值驱动视图模型属性。

    绑定属性

运行状态机时,视图模型属性将根据关键帧属性组的值进行更新。

用一个视图模型属性控制另一个

你无法直接用一个视图模型属性控制另一个。替代方案是:使用属性组值读取一个视图模型属性并设置另一个。

为什么不能用一个视图模型属性控制另一个?

允许视图模型属性互相控制会产生隐藏依赖和更新循环,因此值之间的关系通过绑定显式处理。

在以下示例中,我们将有两个数字视图模型属性 myNumbermyOtherNumber,其中 myOtherNumbermyNumber 的两倍。

  1. 创建公式转换器

    创建一个类型为 Numeric > Formula 的新转换器,添加一个数字值、一个乘法运算和另一个数字。

    向组中添加属性

  2. 绑定数字值

    将第一个数字绑定到 myNumber

    绑定第一个数字

  3. 控制视图模型属性

    选中属性组,右键点击属性,使用转换器将其绑定到 myOtherNumber 值。将方向设置为 Target → Source,使转换后的值驱动视图模型属性。

    控制视图模型属性

运行状态机时,你会看到 myOtherNumbermyNumber 的两倍。

已加倍